//
//  tTask.h
//
//  Created on: 2019年7月16日
//  Author: lucfa
//

#ifndef __TTASK_H
#define __TTASK_H

#include <stdint.h>

#include "tInit.h"

typedef struct Task_Type
{
    uint8_t (*TaskSwitch)(uint8_t m_Event);      //带参数的函数指针 用于执行任务函数
}Task_TypeDef;



extern uint8_t tTaskMain;        //系统主任务
extern uint8_t tTaskSub[8];     //系统子任务

extern Task_TypeDef  Tasklist[8];
extern const uint8_t  TaskPrioTable[256];


#ifdef __cplusplus
extern "C" {
#endif


void Set_Task(uint8_t main_task, uint8_t sub_task);
void Clr_Task(uint8_t main_task, uint8_t sub_task);
uint8_t clear_task(uint8_t prio , uint8_t PrioMask);






#ifdef __cplusplus
}
#endif

#endif // __TTASK_H
